package com.settlement.system.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.settlement.system.common.annotation.RoleAndStorePermission;
import com.settlement.system.model.entity.SysFileAudit;
import com.settlement.system.model.query.FileAuditPageQuery;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 归档核销表 Mapper 接口
 * </p>
 *
 * @author huangrensen
 * @since 2023-08-05
 */
@Mapper
public interface SysFileAuditMapper extends BaseMapper<SysFileAudit> {

    /**
     * 获取历史关联核销单
     * @param queryParams
     * @return
     */
    List<SysFileAudit> getHistoryList(FileAuditPageQuery queryParams);

    /**
     * 是否存在表
     * @param tableName
     * @return
     */
    String existTable(@Param("tableName")String tableName);

    /**
     * 创建表
     * @param tableName
     * @return
     */
    int createTable(@Param("tableName")String tableName);

    int insertData(SysFileAudit sysFileAudit);
    int update(SysFileAudit sysFileAudit);

    /**
     * 获取用户分页列表
     *
     * @param page
     * @param queryParams 查询参数
     * @return
     */
    @RoleAndStorePermission
    Page<SysFileAudit> getPage(Page<SysFileAudit> page, FileAuditPageQuery queryParams);

    /**
     * 查询方法
     *
     * @param queryParams 查询参数
     * @return
     */
    List<SysFileAudit> getList(FileAuditPageQuery queryParams);

    List<SysFileAudit> getById(SysFileAudit queryParams);

    List<String> getAllTable();
}
